日期：2023/8/15 出题人：mq白

\begin{minted}[mathescape,	
    linenos,
    numbersep=5pt,
    gobble=2,
    frame=lines,
    framesep=2mm]{c++}
    #include<iostream>

    template<class T>
    struct X {
        void f()const { std::cout << "X\n"; }
    };
    
    void f() { std::cout << "全局\n"; }
    
    template<class T>
    struct Y : X<T> {
        void t()const {
            this->f();
        }
        void t2()const {
            f();
        }
    };
    
    int main() {
        Y<void>y;
        y.t();
        y.t2();
    }
\end{minted}

给出以上代码，要求解释其运行结果。

\begin{tcolorbox}[title = {要求运行结果},
        fonttitle = \bfseries, fontupper = \sffamily, fontlower = \itshape]
    X\\
    全局
\end{tcolorbox}

\begin{itemize}
    \item \textbf{难度}： \hardscore{3} \\
          \textbf{提示}：名字查找。本问题堪称经典，在某著名 template 书籍也有提过（虽然它完全没有讲清楚）。 并且从浅薄的角度来说，本题也可以让你向其他人证明加 this 访问类成员，和不加，是有很多区别的。
\end{itemize}